วิธีใช้ LINE API
ต่อเนื่องจาก 2 บทที่ผ่านคือ การทำ LINE Bot ด้วย Python และ LINE Messaging API ทำให้เราสามารถติดตั้ง Chatbot ได้ รวมถึงเข้าใจ flow การทำงานของ Messging API ต่อไปนี้เพื่อต่อยอดในการ ทำ LINE Bot ให้สมบูรณ์มากขึ้น เราจำเป็นต้องรู้ spec ของ LINE Messaging API ว่าใช้ protocol รวมถึง schema ของข้อมูลเป็นแบบใด เพื่อนำไปสู่การ ทำ LINE Bot ด้วยตัวเองและไม่เหมือนใคร
- บทที่1 เราสามารถติดตั้ง LINE Bot บน Linux ได้
- บทที่2 อธิบายการทำงานของ LINE Messaging API ที่เอามาใช้งาน
Messaging API Specifications
วิธีใช้ LINE API ทั้งหมด จะใช้ผ่าน HTTP/HTTPS Protocol โดยใช้ POST method และ ใช้ข้อมูล body message เป็น JSON format เป็นตัวส่ง request ไปหา LINE Server ซึ่งอาจจะทำเป็น RESTful webservice
1. Rate limits
ในการใช้งาน LINE APIs ทุกชนิดจะมีข้อจำกัด หรือ limit ที่ทาง LINE set ไว้ตามระดับของ Id ที่เราสมัครไว้ ซึ่งโดยปกติแล้วของเราจะเป็น Developer Trial โดยจะสามารถส่ง APIs ไปยัง LINE Server ได้สูงสุดไม่เกิน 1000 request/min
Plan | Limit |
---|---|
Developer Trial | 1,000/min |
Other plans | 10,000/min |
2. Status codes
คือ response จากฝั่ง LINE ที่ตอบกลับมาหา เพื่อแจ้งผลลัพธ์ของ request ที่เรา POST ไป
Error code | Description |
---|---|
200 OK | ถูกต้องตามกฎ |
400 Bad Request | ข้อมูลที่ส่งไปผิด format schema |
401 Unauthorized | Channel access token ไม่ถูกต้อง |
403 Forbidden | ฝั่ง Server ปฎิเสธ request เนื่องจาก Account Id ไม่ได้รับอนุญาตในการใช้งานคำสั่งนั้น |
429 Too Many Requests | Request มากเกิน limit ของ Account Plan |
500 Internal Server Error | Server LINE มีปัญหา |
3. Response headers
กรณีที่ได้รับ response Status code 200 OK ทาง LINE Server แปะ request-id กลับมาให้ ซึ่งจะไม่ซ้ำกันเลย
Response header | Description |
---|---|
X-Line-Request-Id | Generate จากฝั่ง LINE Server |
4. Error response
กรณีที่ได้รับ response Status code 200 OK แต่ทาง LINE Server ไม่สามารถ process คำสั่งนั้นได้ อาจจะเพราะข้อมูลไม่ครบถ้วน หรือ คำสั่งติดเงือนไขบางอย่าง ทาง LINE Server จะตอบ error กลับมาพร้อมรายละเอียด
Field | Type | Description |
---|---|---|
message | String | บอกจำนวนที่ error |
details[].message | String | รายละเอียดของ error |
หรือ
Field | Type | Description |
---|---|---|
message | String | รายละเอียดของ error |
สำหรับรายระเอียดจะอยู่ในหัวข้อ ต่อไป
5. Error messages
Message | Description |
---|---|
The request body has X error(s) | An error was found in the JSON data of the request body. The number of errors is displayed for “X”. Further details are shown in the details[].message and details[].property fields. |
Invalid reply token | An invalid reply token was used in the reply message |
The property, XXX, in the request body is invalid (line: XXX, column: XXX) | An invalid property was specified in the request body. The specific property is displayed for “XXX”. |
The request body could not be parsed as JSON (line: XXX, column: XXX) | The JSON in the request body could not be parsed. The specific line and column are displayed. |
The content type, XXX, is not supported | A content type not supported by the API is requested. |
Authentication failed due to the following reason: XXX | Authentication failed when the API was called. The reason is displayed for “XXX”. |
Access to this API is not available for your account | Appears when calling an API that you do not have permission to use. |
Failed to send messages | Appears when the message fails to be sent. One reason this may appear is if the user ID specified does not exist. |
Messaging API
สำหรับ command ที่ทาง LINE ออกแบบมาให้ใช้งาน มีส่วนประกอบดังนี้
- Webhooks – ใช้รับ Notification ที่เกิดขึ้นกับ LINE account แบบ realtime สามารถเอามา ทำ LINE Bot รับ message ได้
- Reply message – ตอบ message กลับไปหา user ที่ส่ง message มา
- Push message – ส่ง message หา user ได้ตลอดเวลา
- Multicast – ส่ง message หาหลายๆ user พร้อมกัน (broadcast)
- Content – download รูป, video และ ข้อความเสียงที่ user ส่งมา
- Profile – ดึงข้อมูล user profile
- Leave – ออกจาก group/room
ในบทต่อเราจะมาดูกันว่า Webhook คืออะไร
Reference:
- ทำความเข้าใจ LINE API (Unofficial) – Messaging API
- ทำ LINE bot (Unofficial) สามารถโต้ตอบแบบ Chatbot หรือ Echobot
- วิธีสมัคร LINE Business Center และ LINE@
- บทที่1 ทำ LINE Bot สามารถโต้ตอบ หรือ Chatbot ด้วย Python (Official)
- บทที่2 เรียนรู้ LINE API คืออะไร ทำ LINE Bot ผ่าน LINE Messaging API (Official)
- บทที่3 วิธีใช้ LINE API (Messaging API) เพื่อทำ LINE Bot
- บทที่4 Webhook หลักการของ LINE API ที่เอาไว้ ทำ LINE Bot
- บทที่5 วิธีส่งข้อความผ่าน LINE API หรือ LINE Bot ด้วย Curl
- บทที่6 วิธีใช้ LINE Python SDK ทำ LINE Bot ด้วย LINE Messaging API
Author: Suphakit Annoppornchai
Credit: https://saixiii.com,https://devdocs.line.me
[…] บทที่3 วิธีใช้ LINE API (Messaging API) เพื่อทำ LINE Bot […]
[…] หรือ Messaging API ที่ได้แนะนำไปในบทที่ 2 และ บทที่ 3 […]
[…] บทต่อไปเราไปดู วิธีใช้ LINE API หรือ Messaging API […]
[…] บทที่3 ข้อกำหนกการใช้งานของ LINE API command […]